package com.nuc.bigdata.app.service;

import com.nuc.bigdata.domain.vo.CommentsVO;
import com.nuc.bigdata.domain.vo.CommodityDetailVO;
import com.nuc.bigdata.domain.vo.CommodityPicAndDescVO;
import com.nuc.bigdata.domain.vo.CommodityVO;
import com.nuc.bigdata.feign.dto.NewsCommentsDto;

import java.util.ArrayList;

/**
 * @author JackLuo
 * @date 2019/11/28
 */
public interface CommodityService {

    /**
     * 列出所有的简略商品信息
     * @param pageSize 页码
     * @return 包含商品VO的ArrayList
     */
    ArrayList<CommodityVO> listAll(Long pageSize);

    /**
     * 根据商品唯一标识获取商品详情VO
     * @param commodityId 商品唯一标识
     * @return 商品详情VO
     */
    CommodityDetailVO queryDetailById(String commodityId);

    /**
     * 根据商品唯一标识查询商品图文详情
     * @param commodityId 商品唯一标识
     * @return 图文详情VO
     */
    CommodityPicAndDescVO queryPicAndDescById(String commodityId);

    /**
     * 根据商品唯一标识获取评论信息
     * @param commodityId 商品唯一标识
     * @param pageSize 页码
     * @return 包含评论VO的ArrayList
     */
    ArrayList<CommentsVO> listByCommodityId(String commodityId,Long pageSize);

    /**
     * 创建评论
     * @param commodityId 商品唯一标识
     * @param commentsDto 评论dto
     */
    void createComment(String commodityId, NewsCommentsDto commentsDto);

    /**
     * 点赞评论
     * @param commodityCommentId 商品评论唯一标识
     * @param userId 用户唯一标识
     */
    void toCommentLike(String commodityCommentId,String userId);
}
